Motion editing apparatus and method for legged mobile robot and computer program

ABSTRACT

A motion editing system for a robot in which the motion of a robot edited is corrected as the movements performed by an actual robot are checked. An optional range of motion data is reproduced using an actual robot. At this time, an output from each sensor mounted to the actual robot, that is, the sensor information, is transmitted to the motion editing system. The robot&#39;s movements are evaluated on the motion editing system based on the sensor information acquired during motion reproduction. If, as a result of the robot&#39;s movements, a predetermined evaluation criterium is not met, the motion correction processing is carried out. If the predetermined evaluation criterium is met, a motion data file, in which is embedded the reference sensor information, is formulated.

BACKGROUND OF THE INVENTION

1. Field of the Invention

This invention relates to a motion editing apparatus and a motionediting method for supporting the creation and the editing of motions,stating a predetermined movement pattern of a robot, and to a computerprogram. This invention especially relates to a motion editing apparatusand a motion editing method for a legged mobile robot for doing varioustasks by movable legs, and to a computer program.

More particularly, the present invention relates to a motion editingapparatus and a motion editing method for supporting the editing of amovement pattern, as feasibility of the movement pattern on an actualrobot is scrutinized, and to a computer program. More specifically, theinvention relates to a motion editing apparatus and a motion editingmethod for a legged mobile robot in which the motion as edited ischecked on the actual robot, and a computer program.

The application claims priority of Japanese Patent Application No.2002-298348 filed on Oct. 11, 2002, the entirety of which isincorporated by reference herein.

2. Description of Related Art

A mechanical apparatus for performing movements simulating the movementsof the human being, with the use of electrical or magnetic movements, istermed a “robot”. The etymology of the term robot is said to be “ROBOTA”(slave machine) of the Slavic language. In Japan, the robots started tobe used towards the end of the 1960s. Most of these robots used wereindustrial robots, such as manipulators or transporting robots, aimed toautomate or perform unmanned tasks in plant movements.

In recent years, researches and developments in legged mobile robots,simulating the bodily mechanism and movements of an animal which iserected and walks on two feet, such as human beings or monkeys, areprogressing, such that there are good prospects for practicalutilization of this robot type. The movement system by legs, erected andwalking on two legs, is labile as compared to the crawler type system orthe system walking on four or six legs, and hence is difficult tocontrol as to posture or walking. However, the movement system by legs,erected and walking on two legs, is favorable in such respects that itis able to cope with a work route presenting an irregular walkingsurface, such as non-leveled terrain or obstacles, or a non-continuouswalking surface, such as staircase or ladder, thereby achieving moreflexible movements.

On the other hand, the legged mobile robot, regenerating the mechanismof the living body or movements of the human beings, is termed a“humanoid” or a “humanoid robot”. The humanoid robot is able to supportthe human life, that is to support human activities, in various aspectsof our everyday life, such as in our living environments.

The major portions of the task space or the living space of the humanbeings are tailored to the bodily mechanism and the behavior patterns ofthe human beings, which are erect and walk on two feet, while presentingmany obstacles to movements of the state-of-the-art mechanical system,having wheeled driving device or the like as movement means. Thus, inorder for the mechanical system, that is, the robot, to take the placeof the human beings in a large variety of tasks and to adapt itself tothe living environment of the human beings, it is desirable that thepossible range of movement of the robot is substantially the same asthat of the human beings. This accounts for great general expectationsfor practical utilization of legged mobile robots.

The up-to-date legged mobile robot has a high information processingcapability, such that the robot itself may be comprehended as a sort ofthe computer system. Stated differently, the highly advanced complicatedsequence of movements, or motions, constructed by movement patterns,realized on a robot, or by a combination of plural fundamental movementpatterns, are constructed by a movement similar to computer programming.

In order for the robot body to come into widespread use, it isimperative that a large number of motion data for actuating the robotbody become practically usable. Thus, it is strongly desired toconstruct a development environment for enabling motion editing forrobots.

It may also be anticipated that the robot will be widely used in thenear future not only in industry but also in households and in oureveryday life. In particular, as to an entertainment-oriented product,it may be anticipated that general consumers at large, not havingspecialized knowledge about computers or computer programming, purchaseand use robots. For the general consumers at large, it would bedesirable to provide a tool which will support them in formulating andediting the robot's movement sequence by interactive processing, thatis, a motion editing system efficiently and with relative ease.

The robot is constructed by a plural number of control points, such asjoints, so that, by sequentially inputting the positions or velocities(joint angles or angular accelerations) at respective control points, itis possible to edit the movements of the robot body. In this respect,the movement of such formulation and editing may be likened to thegeneration of character animation in computer graphics. However, thereis an explicit difference between the movement in a virtual space andthose of an actual apparatus (robot). In the case of the legged mobilerobot, desired movements cannot be executed by simply actuating theangles of joints, such that the movements on legs need to be continuedwithout falldown of the robot. In other words, in order to realize adesired movement, it is imperative that the movements realized on theactual robot are checked and stability in posture of the robot body ismaintained in the course of the motion execution.

In controlling posture stability of the legged mobile robot, a ZMPstability decision criterium of searching for a zero moment point on orinwardly of a side of a supporting polygon, formed by the for soletouchdown point and the road surface, is used. In the case of thetwo-legged mobile robot, this supporting polygon is of a marked height,as a result of which it is retained to be difficult to control theposture of the robot in stability.

There has already been known a motion editing system in which commandvalues in each control point of the robot body is entered on a displayto help implement the robot's motion. However, there lacks up to now asystem in which posture stability in case of realizing the edited motionis checked on the actual robot or in which the desired motion iscorrected for stabilizing the posture. In fact, motion edition would bea failure if the posture stability of the robot body cannot bemaintained with the implemented motion, such that the motion itselfcannot be put into practice.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a methodand an apparatus for a legged mobile robot and a computer program inwhich it is possible to support user in editing a movement pattern, asfeasibility thereof on the actual apparatus (robot) is taken intoaccount.

It is another object of the present invention to provide a method and anapparatus and a computer program for a legged mobile robot in which themotion once edited can be corrected as the actual movements are checkedon the actual apparatus.

In one aspect, the present invention provides a motion editing apparatusor method for a legged mobile robot having a plurality of degrees offreedom in joints and a sensor for measuring an external environment, inwhich the apparatus or method comprises a data input unit or step ofinputting motion data, a data reproducing step of reproducing the motiondata on an actual apparatus, a sensor information acquisition unit orstep of acquiring the sensor information from the sensor during the timewhen the motion data is being reproduced, a motion evaluation unit orstep of evaluating the motion based on the acquired sensor information,and a motion correction unit or step of correcting the motion data basedon the results of evaluation, and an motion editing apparatus for alegged mobile robot for carrying out the above motion editing method.

In the motion editing apparatus and method, according to the firstaspect of the present invention, it is possible to formulate, byacquiring the sensor information of the actual robot by communication,the motion which takes the response of the actual robot into account. Itis also possible to check the motion data, formulated in a referenceenvironment, as to whether or not the actual robot operates as scheduledwhen the motion data is executed in an environment different from thereference environment, such as in the living environment.

The motion editing apparatus or method for the legged mobile robot ofthe first aspect of the present invention may further include a motiondata outputting unit or step for embedding the sensor informationacquired by the sensor information acquisition unit as reference data inthe motion data which satisfy a criterium of evaluation in the motionevaluation unit, and for outputting the resulting motion data having thereference data embedded therein.

Even if robot movements stated in the motion data are the same, thesensor outputs differ in dependence on the outside environment or on theworking environment. For example, if the walking pattern is the same,the sensor output value differs when the robot is walking on a roadpresenting a gradient, or on the labile road surface, such as on thegravel or on the thick-piled carpet. With the motion data having thereference sensor information embedded therein, such advantage may bederived that the motion data consistent with specified workingenvironments (or the robot using configuration) can be stated.

The motion data outputting unit or step may output the information onthe angles of joints, formed by the combination of angle command valuesfor respective joints and measured values acquired on executing themotion, as the motion data having the reference data embedded therein.Or, the motion data outputting unit or step may output the postureinformation composed of the combination of the target values for therespective sensors at the time of motion edition, measured values at thetime of motion execution and filtered values of the measured values ofthe sensor outputs as the motion data having the reference data embeddedtherein. Alternatively, the motion data outputting unit or step mayoutput the ZMP trajectory information formed by the combination of thetarget ZMP trajectory for left and right foot soles at the time ofediting and the ZMP trajectory following the correction by stabilizationcontrol at the time of execution of the motion, as the motion datahaving the reference data embedded therein. Still alternatively, themotion data outputting unit or step may output the foot sole touchdowninformation formed by the combination of a target value at the time ofediting of a floor reaction sensor and a measured value thereof at thetime of motion execution and/or the contact information as motion datahaving the reference data embedded therein.

The motion evaluation unit or step may chronologically evaluate followupcharacteristics on executing the motion on the actual apparatus.

The motion evaluation unit or step may chronologically acquire a torquevalue of an actuator and the number of revolutions on executing themotion on an actual robot body and compare the acquired data to a NTcurve representing the actuator characteristics, in order to evaluatewhether or not there is any movement which surpasses the limit torque ofthe actuator.

The motion evaluation unit or step may calculate a difference betweenposture sensor values and the ZMP trajectory as scheduled at the time ofthe motion edition, and sensor values and the ZMP trajectory as acquiredon executing the motion on an actual robot body, in order to evaluatethe posture.

The motion evaluation unit or step may calculate a difference betweenthe posture at the time of motion edition and measured values obtainedon executing the motion on the actual robot body, in order to evaluatethe touchdown and/or contact.

The motion evaluation unit may calculate the degree of improvement inmeasured values as to the motion corrected by last and previousevaluation events, in order to evaluate the degree of achievement ofcorrection.

The motion evaluation unit or step may calculate the effect of an impactdue to contact with an outside object on an actuator torque, ZMPtrajectory or on the acceleration, in order to evaluate the impact dueto contact with the outside object.

The motion correction unit or step may correct a command angle value tothe actuator based on the result of evaluation of response properties ofthe actuator and/or corrects control parameters of the actuator.

The motion correction unit or step may change the contents of a posturestabilization processing block based on the result of evaluation of theactuator torque.

The motion correction unit or step may change the contents of a posturestabilization processing block based on the result of evaluation of thetouchdown and/or contact.

The motion correction unit or step may change the control of the posturestabilization processing block, as the contact with the outside objectis taken into account, based on the result of evaluation of the impactdue to contact with the outside object.

The motion reproducing unit or step may take out only an optional rangeof motion data, in order to reproduce the range thus taken out on theactual apparatus.

By taking out only an optional range of the motion data and reproducingthe so taken out motion data on the actual apparatus (robot), inreproducing the motion data-on the actual apparatus, the motion editingmovement may be improved in efficiency.

The data reproducing unit or step may set a start time point in motiondata, calculate the dynamic posture at the start time point, generate atransient motion with the dynamic posture at the start time point as aterminal point, reproduce the motion on the actual apparatus using thetransient motion, set a stop time point in the motion data, calculatethe dynamic posture at the time point, generate a transient motion withthe stop posture as a start point, and halt the movement of the actualapparatus using the transient motion.

It is noted that the motion is formed by chronological combination oftwo or more postures. When a dynamic motion (continuous dynamicmovement), which positively and continuously employs the acceleration,it is impossible to execute the motion from an intermediate point tomake the evaluation. According to the present invention, thereproduction and stop of the continuous dynamic movement as from anoptional time point are enabled to reduce the time needed for motionevaluation significantly.

In a second aspect, the present invention provides computer program in acomputer readable form executing the motion editing processing for alegged mobile robot having a plurality of degrees of freedom in jointsand a sensor for measuring an external environment. The computer programcomprises a data inputting step of inputting motion data, a datareproducing step of reproducing the motion data on an actual apparatus,a sensor information acquisition step of acquiring the sensorinformation from the sensor during the time when the motion data isbeing reproduced, a motion evaluation step of evaluating the motionbased on the acquired sensor information, and a motion correction stepof correcting the motion data based on the results of evaluation.

The computer program in the second aspect of the present invention hasdefined, in a computer readable form, a computer program which allows apreset processing to be implemented on a computer system. In otherwords, by having the computer program of the second aspect of thepresent invention installed on the computer system, concerted movementsmay be realized on the computer system, whereby the operation and effectcomparable to those of the motion editing apparatus or method for thelegged mobile robot according to the first aspect of the presentinvention may be achieved.

Thus, according to the present invention, there are provided a motionediting apparatus, a motion editing method and a computer program for alegged mobile robot supporting the editing of the movement pattern asthe feasibility on the actual apparatus (robot) is taken intoconsideration.

According to the present invention, there are also provided a motionediting apparatus, a motion editing method and a computer program for alegged mobile robot capable of correcting the edited motion as themovement on the actual apparatus is checked.

Other objects, features and advantages of the present invention willbecome more apparent from reading the embodiments of the presentinvention as shown in the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 shows an appearance and an overall structure of a legged mobilerobot as a subject entity of motion edition by a motion editing systemaccording to the present invention, looking from an oblique front side.

FIG. 2 shows an appearance and an overall structure of a legged mobilerobot as a subject entity of motion edition by a motion editing systemaccording to the present invention, looking from an oblique rear side.

FIG. 3 schematically shows the structure of the degrees of freedom of alegged mobile robot 100 embodying the present invention.

FIG. 4 schematically shows a control system structure of the leggedmobile robot 100.

FIG. 5 schematically shows the processing flow in a motion editingsystem according to an embodiment of the present invention.

FIG. 6 shows a data structure of the information on the angles of jointscontained in motion data.

FIG. 7 shows a data structure of the information on the posturecontained in motion data.

FIG. 8 shows a data structure of the information on the ZMP trajectorycontained in motion data.

FIG. 9 shows a data structure of the information on the contact of thefoot sole on the floor contained in motion data.

FIG. 10 is a flowchart showing a processing sequence for evaluatingmotion data of the robot 100 based on the sensor information.

FIG. 11 is a flowchart showing a processing sequence for motioncorrection.

FIG. 12 is a flowchart showing a processing sequence for processing thereproduction and stop as from an optional time point of the continuousdynamic movements stated in motion data of the robot 100.

FIG. 13 is a flowchart showing a modification of the motion editingprocessing.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring to the drawings, a certain preferred embodiment of the presentinvention will be explained in detail.

A. Mechanical Structure of Legged Mobile Robot

FIGS. 1 and 2 show the appearance and the overall structure of thelegged mobile robot 100 as a subject entity of motion edition by amotion editing system according to the present invention. This leggedmobile robot is termed a “humanoid” robot. As shown, the legged mobilerobot 100 is made up by a trunk unit, a head unit, left and right upperlimbs and left and right lower limbs, responsible for movement on legs.The movements of the entire robot is comprehensively controlled by acontrolling unit enclosed e.g. in its trunk portion (not shown).

Each of the left and right lower limbs is made up by a thigh unit, aknee joint, a shank unit, an ankle and a foot flat, and is connected toapproximately the lowermost end of the body trunk unit by a hip joint.Each of the left and right upper limbs is made up by an upper arm, anelbow joint, and a forearm, and is connected to upper left and rightside edges of the body trunk by the shoulder joint. The head unit isconnected by the neck joint to approximately an uppermost mid point ofthe trunk portion.

The controlling unit is a casing on which there are mounted a controller(main controlling unit), taking charge of driving control of each jointactuator constituting the legged mobile robot 100, and of processing anexternal input from each sensor, as later explained, and peripherals,such as a power supply circuit. The controlling unit may also include acommunication interface for remote control or communication devices.

The legged mobile robot 100, constructed as described above, is able torealize walking on two feet by concerted whole-body movement control bythe controlling unit. This walking on two feet is usually realized byrepetition of a walking period divided into the following respectivemovement periods:

-   (1) a period during which a right leg is uplifted, with the robot    being supported on only the left leg;-   (2) a period during which the right leg touches the floor, with the    robot being supported on both legs;-   (3) a period during which the left leg is uplifted, with the robot    being supported on only the right leg; and-   (4) a period during which the left leg touches the floor, with the    robot being supported on both legs.

The walking control in the legged mobile robot 100 may be achieved byplanning a target trajectory of the lower limbs at the outset and bycorrecting the target trajectory during each of the above periods. Thatis, during the time period when the robot is supported by both legs, thecorrection of the lower limb trajectory is halted and, using the totalcorrection quantity for the target trajectory, the waist height iscorrected to a constant value. During the period when the robot issupported on the sole leg, a corrected trajectory is generated so thatthe position relationships between the ankle of the leg, the trajectoryof which has been corrected, and the waist, will revert to the scheduledtrajectory.

For posture stabilizing control for the robot body, to say nothing ofthe correction of the trajectory of the walking movements, interpolatingcalculations, employing a five-degree polynominal, are carried out ingeneral in order to assure continuous transitions of the positions,velocity and the acceleration aimed to provide for a reduced offset withrespect to the zero moment point (ZMP). This ZMP is used as a criteriumfor verifying the degree of walking stability.

This criterium for verifying the degree of walking stability by the ZMPis based on the [D-Alembert's principle] which states that the gravityand the force of inertia from the walking system to the road surface andthe moment thereof are in equilibrium with the force of reaction fromthe floor as the reaction from the road surface to the walking systemand the moment of the force of reaction from the floor. As a conclusionof the inference of mechanics, there exists a point of zero moment ofthe pitch and roll axes, that is the zero moment point (ZMP), on orinwardly of a side of a supporting polygon defined by the touchdownpoint of the foot sole and the road surface (ZMP stabilized area).

FIG. 3 schematically shows the structure of the degrees of freedom ofthe legged mobile robot 100 embodying the present invention.

Referring to FIG. 3, the present robot is made up by a trunk part of therobot to which are mounted four limbs. These four limbs are formed byleft and right arms having seven degrees of freedom, that is, a shoulderjoint pitch axis, a shoulder joint roll axis, an upper arm yaw axis, anelbow joint pitch axis, a forearm yaw axis, a wrist roll axis and awrist pitch axis, and by left and right legs having six degrees offreedom, that is, a hip joint yaw axis, a hip joint roll axis, a hipjoint pitch axis, a knee joint pitch axis, an ankle pitch axis and anankle roll axis.

In actuality, these degrees of freedom in the joints are implemented byactuator motors. In the present embodiment, there is mounted asmall-sized direct gear coupling type AC servo actuator in which a servocontrol system is designed as one chip and enclosed in a motor unit.Meanwhile, this sort of the AC servo actuator is disclosed in e.g. theJapanese Laying-Open Patent Publication 2000-299970 (Japanese PatentApplication H11-33386) transferred to the present Assignee.

The robot body is loaded with an acceleration sensor A1 and with a gyroG1. On the four corners of left and right foot soles, there are mounteduniaxial load cells F1 to F8 for detecting the force of reaction of thefloor in a direction perpendicular to the foot sole surface, andinfra-red distance measuring sensors D1 to D8 for measuring the distanceto the floor surface. At a mid portion of each of the left and rightfoot soles, there are mounted acceleration sensors A2 and A3 and gyrosG2, G3.

It is noted that the head unit has a degree of freedom of the jointabout the neck joint yaw axis, first and second neck joint pitch axesand the neck joint roll axis, with respect to the body trunk part,although this is not shown in FIG. 3 for avoiding complexities in thedrawings. The body trunk part also has a degree of freedom of the jointabout each of the body trunk roll axis and the body trunk pitch axis.

B. Structure of the Control System for Legged Mobile Robot

FIG. 4 schematically shows the structure of the control system of thelegged mobile robot 100. In this figure, the legged mobile robot 100 ismade up by respective mechanical units 30, 40, 50R/L and 60 R/L,representing four limbs of the human being, and a controlling unit 80for exercising adaptive control for realizing concerted movements amongthe respective mechanical units. It is noted that, throughout thespecification, R and L are each suffixes depicting right and left,respectively.

The overall movements of the legged mobile robot 100 are comprehensivelycontrolled by the controlling unit 80. This controlling unit 80 is madeup by a main controller 81 and a peripheral circuit 82. The maincontroller 81 is formed by main circuit components, composed e.g. of aCPU (central processing unit) and a memory, while the peripheral circuit82 includes an interface, not shown, for exchanging data or commandswith the power supply circuit or with respective component units of therobot 200.

In practicing the present invention, there is no particular limitationto the mounting site of the controlling unit 80. Although thecontrolling unit is mounted to the body trunk unit 40 in FIG. 4, it mayalso be mounted to the head unit 30. Or, the controlling unit 80 may bemounted externally of the legged mobile robot 100 and connected over awired or wireless path to the body unit of the legged mobile robot 100for communication.

The degree of freedom of each joint in the legged mobile robot 100 shownin FIG. 3 is realized by a relevant actuator motor M. That is, the headunit 30 is provided with a neck joint yaw axis actuator M₁, neck jointpitch axis actuators M_(2A), an M_(2B) and a neck joint roll actuatorM₃, representing the neck joint yaw axis, first and second neck jointpitch axes and the neck joint roll axis, respectively.

The body trunk unit 40 is provided with a body trunk pitch axis actuatorM₁₁ and a body trunk roll axis actuator M₁₂ representing the body trunkpitch axis and the body trunk roll axis, respectively.

The arm units 50R/L are subdivided into upper arm units 51R/L, elbowjoint units 52R/L and forearm units 53R/L. It is noted that the armunits are each provided with a shoulder joint pitch axis actuator M₄, ashoulder joint roll axis actuator M₅, an upper arm yaw axis actuator M₆,an elbow joint pitch axis actuator M₇, an elbow joint yaw axis actuatorM₈, a wrist joint roll axis actuator M₉ and a wrist joint pitch axisactuator M₁₀, representing a shoulder joint pitch axis, a shoulder jointroll axis, an upper arm yaw axis, an elbow joint pitch axis, an elbowjoint roll axis, a wrist joint roll axis and a wrist joint pitch axis,respectively.

The leg units 60R/L are subdivided into thigh units 61R/L, knee units62R/L and shank units 63R/L. It is noted that the leg units 60R/L areeach provided with a hip joint yaw axis actuator M₁₃, a hip joint pitchaxis actuator M₁₄, a hip joint roll axis actuator M₁₅, a knee jointpitch axis actuator M₁₆, an ankle joint pitch axis actuator M₁₇ and anankle joint roll axis actuator M₁₈, representing the hip joint yaw axis,hip joint pitch axis, hip joint roll axis, knee joint pitch axis, anklejoint pitch axis and the ankle joint roll axis, respectively.

More preferably; the actuators M₁, M₂, M₃, . . . , used for therespective joints, may each be constructed by a small-sized AC servoactuator, as described before, of the direct gear coupled type in whichthe servo control system is arranged as one chip and loaded in a motorunit.

The respective mechanical units of the head unit 30, body trunk unit 40,arm units 50 and the leg units 60 are provided with sub-controllingunits 35, 45, 55, 65 for driving and controlling the actuators,respectively.

The body trunk unit 40 of the robot body is provided with an posturesensor G1 composed e.g. of an acceleration sensor A1 and a gyro sensorG1. The acceleration sensor A1 is arranged e.g. along X, Y and Z axes.By arranging the acceleration sensor A1 to the waist part of the robotbody, it is possible to set the waist, representing the site with alarge weight mass from the perspective of robot movement movements, as acontrol target point, and to directly measure the posture or theacceleration on this site, in order to exercise ZMP-based posturestabilizing control.

The leg units 60R, 60L are provided respectively with floor reactionsensors F1 to F4 and F5 to F8, acceleration sensors A2, A3, and withposture sensors G2, G3. The floor reaction sensors F1 to F8 may beconstructed by pressure sensors mounted to e.g. foot soles. It can bedetected, based on the presence or absence of the force of reactionexerted from the floor, whether or not the foot sole has touched thefloor. The acceleration sensors A2, A3 are arranged at least along the Xand Y axes, respectively. The equation of ZMP equilibrium may directlybe set at the foot closest to the ZMP position by providing theacceleration sensors A2, A3 on the left and right leg units.

If the acceleration sensors are provided only to the waist part,representing the site with a large weight mass from the perspective ofrobot movement movements, solely the waist part is set as a controltarget point. In this case, the state of the foot sole has to berelatively calculated, on the basis of the results of the calculationsof the control target point, such that

-   (1) the condition that the road surface is not moved without    dependency on which force or torque acts thereon; and-   (2) the condition that the frictional resistance against    translational movement on the road surface is satisfactorily large    such that no slip is produced need to be met, as a matter of    premises, between the foot and the road surface.

In the present embodiment, a reaction sensor system for directlydetecting the ZMP and the force is provided to the foot as the site ofcontact on the road surface, whilst a local coordinate used for controland an acceleration sensor for directly measuring the coordinate areprovided to the foot sole. As a consequence, the equation of ZMPequilibrium may directly be set at the foot closest to the ZMP position,so that more strict posture stabilizing control not dependent on theabove-mentioned premises may be achieved at a higher speed. The resultis that stabilized walking (movement) of the robot body may be assuredeven on the road surface which may be moved under application of a forceor a torque, such as gravel, on a thick-piled carpet or, on a tile usedin a household where slip is likely to be produced because satisfactoryfrictional coefficients of translational movement cannot be assured.

The main controller 81 is able to dynamically correct the control targetresponsive to outputs of the sensors A1 to A3, G1 to G3 or F1 to F8.More specifically, the controlling unit 80 adaptively controls thesub-controlling units 35, 45, 55, 65 to realize a whole-body movementpattern of the legged mobile robot 100 in which the upper limbs, bodytrunk and the lower limbs are actuated in concert.

For realizing the whole-body movements of the robot body of the leggedmobile robot 100, the movements of the foot units, ZMP (zero momentpoint) trajectory, body trunk movements, upper limb movements and theheight of the waist part etc, are set, whilst commands for instructingthe movements pursuant to the setting contents, are transmitted to thesub-controlling units 35, 45, 55, 65. The respective sub-controllingunits 35, 45, . . . interpret the commands received from the controllingunit 80 from the main controller 81 to output driving control signals tothe respective actuators M₁, M₂, M₃, . . . . It should be noted that the[ZMP] denotes a point on the floor surface where the moment by the forceof reaction from the floor during walking becomes zero, while the [ZMPtrajectory] means, as aforesaid, the locus of movement along which theZMP is moved during the walking period of the robot 100.

C. Motion Editing System

FIG. 5 schematically shows the processing flow in a motion editingsystem in an embodiment of the present invention.

The user first edits motion data for the legged mobile robot 100off-line on a motion editing system, having a motion editing applicationinstalled thereon, such as a personal computer (step S1).

It should be noted that the motion data may be edited by chronologicallycombining two or more poses (postures) of the robot 100. The poses ofthe robot 100 can be stated by displacements of the respective angles ofjoints. On the other hand, the motion data may be formed by thedisplacements, velocity or the acceleration of the respective angles ofjoints. Meanwhile, the motion data itself may be edited with advantageby employing the movement editing apparatus described in for example theJapanese Patent Application 2000-73423 transferred to the presentAssignee.

The so prepared motion data is then installed on the legged mobile robot100 to check for robot movements using the actual apparatus (step S2).The motion data itself is the chronological data representing acontinuum of movements, such as displacements and velocities of therespective angles of joints, and is sometimes voluminous. In the presentembodiment, an optional range of the motion data is taken out andreproduced on the actual apparatus to improve the efficiency of themotion editing operation, as will be explained subsequently in detail.

Outputs from respective sensors mounted on the actual apparatus when theoptional range of the motion data is reproduced using the actualapparatus are transmitted to the motion editing system (step S3). Thesensor information herein includes the acceleration sensor A1 and thegyro sensor G1, mounted to the body trunk unit 40 (mounted approximatelyat the center of gravity of the robot body), the acceleration sensors A2and A3, gyro sensors G2, G3 and floor reaction sensors F1 to F8, mountedto the left and right foot soles, in addition to rotation signals fromthe encoder mounted to the joint actuators.

The movements of the robot are then evaluated, on the motion editingsystem, based on the sensor information acquired during motionreproduction (step S4). The method of evaluation of the movements of therobot 100 based on the sensor information will be explainedsubsequently.

If, as a result of the robot movements, the preset evaluation criteriumhas not been met, the motion correcting processing is executed (stepS5), after which processing reverts to the step S2 to re-evaluate themovements which are based on the reproduction on the actual apparatus.

If, as a result of the evaluation of the robot movements, the presetcriterium has been met, a motion data file, in which the sensorinformation obtained in the step S3 is embedded as the reference sensorinformation, is prepared (step S6) to complete the present processingroutine.

By evaluating and correcting the motion data in accordance with theprocessing sequence shown in FIG. 5, it is possible to acquire thesensor information of the actual robot by communication to prepare themotion which has taken the responses of the actual robot into account.It is also possible to check whether or not the actual robot is beingoperated, as scheduled, when the motion data prepared in a referenceenvironment is run in a different environment, such as in a livingenvironment.

Such evaluation of the motion data on the actual robot is mainlysignificant in the following points:

(1) Difference in the Impression of the Acceleration

Since the animation reproduction by computer graphics (CG) in a virtualspace significantly differs from the reproduction on the actualapparatus in a real space, as to the sensitivity to the velocity oracceleration of the various components, it is necessary to use an actualrobot for adjustment thereof.

(2) Difference in the Impression of the Posture

Since the animation reproduction by computer graphics (CG) in a virtualspace significantly differs from the reproduction on the actualapparatus in a real space as to sensitivity to the positions andpostures of the various components, it is necessary to use an actualrobot for its adjustment. For example, when the site referred to forstabilization is limited to only the waist part, there are occasionswhere the waist movements, which were not objectionable as far as thecomputer graphics are concerned, are felt to be excessive in a check onreproduction on an actual apparatus, such that the desired dynamicposture is not achieved. The dynamic posture may be corrected to thedesired dynamic posture by carrying out the partial reproduction as thenumber of the sites referred to for stabilization is increased and asthe priority sequence is changed. For example, the body trunk and thehead unit may be added to the waist part, as sites for reference forstabilization, whereby the waist movement of the actual robot may bediminished to achieve desired movements.

(3) Difficulties Met in Estimating the Actuator Torque (Current) on theActual Apparatus

For correct current estimation on the actual apparatus, it is necessaryto construct the motor model extremely rigorously and to identify therespective elements extremely accurately. Moreover, the time needed inthe simulation employing this model exceeds the practically tolerablelevel for a routine computer system, such as PC. Thus, by performingactual measurements by motion reproduction on the actual apparatus andby correcting details, it is possible to construct more robust motionswithout appreciably increasing the time needed in preparing the motion.

(4) Difficulties Met in Specifying Correct Contact and Touchdown Time

An offset from the scheduled movement of the contact point and thecontact timing of the robot with an outside world leads to applicationto the robot of an unknown and impulse-like external force and anexternal force moment, so that, even if real-time adaptive control isapplied, the effect such offset has on the stability of the robotmovement may become significant. However, in constructing a rigorousshape model of an actual robot, high precision identification of variouscomponents of the shape model, inclusive of an external environment, isneeded. Moreover, simulation of the contact state employing the model isnot realistic because such simulation needs time appreciably surpassingthe time actually tolerable with a routine computer system, such as PC.Thus, an extremely robust motion may be generated by again carrying outthe motion correction and the processing for stabilizing the posture(movement) using an offset between the touchdown point and the states oftouchdown and flight of the motion generated using a shape model and anenvironment model simplified to permit processing within a timetolerable for a routine PC on one hand and those of same motion executedin a set of actual standard environments on the other hand.

Even if the movements themselves of the robot stated by motion dataremain the same, the sensor outputs differ in dependence on the externalenvironment or on the movement environment. For example, if the walkingpattern remains the same, the sensor output values differ when the robotis walking on a road presenting a gradient, on the labile road surface,such as on the gravel, or on the thick-piled carpet. The presentembodiment is meritorious in that, by burying the reference sensorinformation in the motion data, it is possible to write motion data inkeeping up with a specified movement environment or with the robot usingconfiguration.

FIGS. 6 to 9 show typical file formats of the motion data. In thepresent embodiment, the motion data includes the information on theangles of joints, posture information, information on the ZMPtrajectory, and the information on the contact of the foot sole with thefloor surface. Referring to FIG. 6, the information on the angles ofjoints is the chronological data comprised of the displacements, arrayedchronologically, that is, every sampling interval of the joint actuatorsrepresenting the degrees of freedom of the respective joints of thelegged mobile robot 100 at the time of execution of the motions. Therecords at an interval of a sampling interval are formed by thecombination of the angle command values and the measured angle values ofthe respective joints in executing the motions. In the above figures,R_joint name denotes the angle command value for the relevant actuatorat the time of editing, while M_joint name denotes the measured value ofthe relevant actuator when the robot executes the motion.

Referring to FIG. 7, the posture information is the chronological datacomprised of the information, arrayed chronologically, that is, everysampling interval of the posture sensors (gyro sensors) installed on therespective sites on the robot body of the legged mobile robot 100 at thetime of the motion execution. The records at the respective samplingtime points are constructed by the combination of the target values forthe respective sensors, measured values at the time of motion editionand the measured values corresponding to filtered sensor outputs. InFIG. 7, R_sensor name denotes a target value of a relevant sensor at thetime of editing, M_sensor name denotes a measured value in the relevantsensor at the time of executing the robot motion and F_sensor namedenotes measured values corresponding to filtered sensor outputs at thetime of the execution of the robot movements.

Referring to FIG. 8, the ZMP trajectory information is the chronologicaldata comprised of ZMP positions of the legged mobile robot 100 at thetime of motion execution, which are arrayed chronologically, that is,every sampling time interval. The records taken every sampling periodare comprised of the combination of the target ZMP trajectory, at thetime of editing, of the left and right foot soles, and the ZMPtrajectory as corrected by stabilization control in motion execution.Referring to FIG. 8, the R_ZMP trajectory is the target ZMP trajectoryat the time of editing, whilst M_ZMP trajectory denotes the ZMPtrajectory as corrected by stabilization control at the time of themotion execution by the robot.

Referring to FIG. 9, the information on the foot sole touchdown is thechronological data comprised of measured values, arrayedchronologically, that is, every sampling time interval, of therespective floor reaction sensors mounted to the foot soles of thelegged mobile robot 100, at the time of the motion execution. Therecords taken every sampling time interval are formed by the combinationof the target values at the time of editing of the floor reactionsensors and the measured values thereof at the time of the motionexecution. In FIG. 9, the R_touchdown information denotes the targetvalue at the time of editing, whilst M_touchdown information denotesmeasured values at the time of motion execution.

FIG. 10 shows, in the form of a flowchart, the processing sequence inevaluating motion data of the robot 100, based on the sensorinformation. This processing sequence corresponds to step S4 of theflowchart of FIG. 5.

The step S11 evaluates response properties of the actuator. Morespecifically, this step S11 evaluates followup characteristics to theangle command value to the actuator at the time of editing, when themotion data is executed on the actual robot (step S12). The actuator isaffected in response characteristics depending on the upper limitvelocity (acceleration) and on the upper limit angle. Moreover, if theinter-link interference occurs, the actuator becomes unable to follow upwith the target. The difference between the target value and themeasured value is calculated (step S13) and, if the difference isincreased, the result of the evaluation is degraded. If the evaluationis not satisfactory, the contents are saved (step S14) and, if theevaluation is satisfactory, the evaluation is terminated.

In a step S15, the actuator torque is evaluated. More specifically, theactuator torque value and the number of revolutions in case of executionon the actual robot are acquired chronologically. The so acquired datais compared to a NT curve representing actuator characteristics toverify whether or not there is any movement which has exceeded the limittorque of the actuator (step S16). If the result is unsatisfactory, thecontents are saved (step S17). If the result is satisfactory, theevaluation is terminated. Although the calculations of the torque bysimulation are extremely time-consuming and are not exempt from errors,the correct information can be acquired instantaneously by acquiring thetorque values from the actual robot connected to the editing system.

In a step S18, the posture is evaluated. More specifically, thedifference between the values of the posture sensor and the ZMPtrajectory, as scheduled at the time of motion edition, on one hand, andthe sensor values and the ZMP trajectory, executed on the actual robot,on the other hand, is calculated (step S19). If the difference isincreased, the evaluation is degraded (step S20). If the evaluation hasnot yet been achieved, the contents are saved (step S21) and, if theevaluation has been achieved, the evaluation comes to a close. The sosaved difference information is utilized as a parameter for posturestabilizing control at the time of re-editing.

In a step S22, the touchdown is evaluated. More specifically, thedifference value between the posture at the time of motion editing andthe measured values when the motion is executed on the actual robot iscalculated (step S23) to evaluate the difference value (step S24). Ifthe evaluation has not yet been achieved, the contents are saved (stepS25) and, if the evaluation has been achieved, the evaluation comes to aclose. An offset from the scheduled movement of the contact point andthe contact timing of the robot with an outside world leads toapplication to the robot of unknown and impulse-like external force andthe moment of the external force, so that, even if real-time adaptivecontrol is applied, the effect such offset has on the stability of therobot movement is significant. However, an extremely robust motion maybe generated by again carrying out the motion correction and theprocessing for stabilizing the posture (movement) using an offsetbetween the touchdown point and the states of touchdown and flight, whenthe motion generated in an ideal virtual space is executed, on one hand,and those when the motion is executed on the actual robot, on the otherhand.

In a step S26, the degree of achievement of the correction is evaluated.That is, the degree of the improvement of the measured values over themotion corrected by the evaluation of the last and previous evaluationevents calculated (step S27) and comprehensive evaluation is againcarried out in dependence on the falling priority sequence of therespective items (step S28). If the evaluation has not been achieved,the contents are saved (step S29) and, if the evaluation has beenachieved, the evaluation is terminated.

In a step S30, impact evaluation by external contact is evaluated. Morespecifically, the effect of the impact on the actuator torque, ZMPoffset and on the acceleration is calculated (step S31) to evaluate theeffect (step S32). If the evaluation has not been achieved, the contentsare saved (step S33) and, if the evaluation has been achieved, theevaluation is terminated. It is extremely difficult to model the outsideworld of the robot accurately, if in particular the human livingenvironment is taken into account. Thus, a motion accompanied bycollision against the outer object is first generated, in an idealvirtual space, using a simple collision model in which the run time by asimulator is not impracticably protracted. Then, using an offset fromthe force information on the occasion of contact with the outside objectin case the motion is executed on the actual robot, the motioncorrection and the processing of stabilizing the posture (movements) areagain performed to allow generation of an extremely robust motion in ashort time.

FIG. 11 shows, in the form of a flowchart, the sequence of movements forcorrecting the motion, which is equivalent to the step S5 in theflowchart shown in FIG. 5.

The motion correction may be executed manually or automatically on amotion editing system.

In the case of manual correction, the correction is carried out as thedifference between the command value and the measured value and theimproved contents by the last and previous corrections are visuallychecked by having reference to e.g. a graph in a step S41.

In the case of the automatic correction, an angle command value to theactuator is corrected, in a step S42, by exploiting the contents of theresults of evaluation of the response characteristics in the step S11.The control parameter, such as PID, of the actuator is corrected, in astep S43, by exploiting the results of evaluation of the responsecharacteristics. Also, the site of priority for stabilization of theposture stabilizing processing block is changed in a step S44 byexploiting the results of evaluation of the actuator torque in the stepS15. Moreover, the contents of the posture stabilization processingblock is changed in a step S45 by exploiting the results of evaluationof posture stabilization in the step S18. Also, the result of touchdownevaluation in the step S22 is used to change the contents of the posturestabilization block (step s46). Moreover, the control of the posturestabilization processing block, which takes contact with an outsideobject into account, is changed in a step Si, by exploiting the resultof evaluation of the impact due to contact with the outside object inthe step S30.

The motion editing processing of the present embodiment is featured bythe fact that motion data may be reproduced and evaluated on the actualrobot body, that the motion may be corrected on the basis of the sensorinformation acquired during reproduction of the motion data and that themotion data having the reference information embedded therein may beacquired as the processing results.

When the motion data is reproduced on the actual robot body, only anoptional range of the motion data is taken out and reproduced on theactual robot body to improve the efficiency of the motion editingmovement.

It is noted that a motion is composed of a chronological combination oftwo or more poses. If a dynamic motion exploiting positive continuousacceleration (continuous dynamic movement) is to be executed, it isimpossible to execute the motion from an optional intermediate portionto make an evaluation.

In the present embodiment, such continuous dynamic movement is enabledto be reproduced as from an optional time point and such reproduction isalso enabled to be halted as from an optional time point to reduce thetime needed for motion evaluation appreciably.

FIG. 12 shows, in the form of a flowchart, the sequence of movements forprocessing the reproduction and the halting of the reproduction as froman optional time point of the continuous dynamic movement stated by themotion data of the robot 100.

First, the start time point in the motion data is set by e.g. a userinput (step S51).

Next, the dynamic posture at this start time point is calculated (stepS52). The transient motion, having the dynamic posture at the start timepoint as a terminal point, is generated (step S53) and, using thistransient motion, the motion on the actual robot is reproduced (stepS54).

Then, by e.g. a user input, the stop time in the motion data is set(step S55). The dynamic posture at the stop time point is calculated(step S56) and the transient motion having the stop posture as a startpoint is generated (step S57) and, using this transient motion, themovement of the actual robot is halted (step S58).

FIG. 13 shows, in the form of a flowchart, a modification pertinent tomotion editing processing.

First, motion data is formulated on the motion formulation editingsystem (step S61).

In re-editing the motion, the motion data is re-edited manually orautomatically in accordance with the processing sequence described abovewith reference to FIG. 11 (step S62).

The sites for stabilization on the virtual space are then selected andthe priority sequence of the selected sites is specified in order tostabilize the motion (step S63).

The movement impression of the stabilized motion is checked on themotion formulation editing system (step S64). If the motion is thedesirable motion, processing transfers to a step S65 and, if otherwise,processing reverts to the step S62.

In the step S65, the motion data for editing is a taken into the actualrobot. In a step S66, the actual robot is used to check the impressionof the movement.

It should be noted that the motion may be reproduced in its entirety oronly partially subject to designation of partial reproduction. If themotion is a desired one, processing transfers to a step S67. If themotion is not the desired one, processing reverts to the step S62 forre-selection of the site for stabilization, re-designation of thepriority sequence and for motion re-edition.

In the step S67, the sensor information of the actual robot is takeninto the motion formulation editing device.

The movements of the robot are evaluated on the motion formulationediting apparatus in accordance with the processing sequence describedabove with reference to FIG. 10 in a step S68. If the criterium forevaluation has been met, processing transfers to a step S69 and, ifotherwise, processing transfers to a step S70.

In the step S69, a final motion data file, composed of the motion datafor editing and the reference data file, embedded therein, is formulated(see FIGS. 6 to 9).

In the step S70, the contents of the evaluation are saved. These savedcontents are utilized in the motion re-editing (see FIGS. 6 to 9).

The present invention has so far been elucidated with reference tocertain specific embodiments thereof. However, as may be apparent tothose skilled in the art, various changes, substitutions or equivalentsmay be envisaged without departing from the scope and the purport of theinvention as defined in the appended claims. The purport of the presentinvention is not necessarily limited to a product termed a “robot”. Thatis, the present invention may be applied to any mechanical apparatusperforming movements similar to those of the human being, based onelectrical or magnetic actions, even though the apparatus belongs toother field of the industry, such as toys.

In sum, the present invention has been disclosed by way of illustrationand the contents of the description of the present specification is notto be construed in a limiting sense. For understanding the purport ofthe present invention, reference is to be made to the description of theappended claims.

What is claimed is:
 1. A motion editing apparatus for a legged mobilerobot having a plurality of degrees of freedom in joints, and a sensorfor measuring an external environment, comprising: a data inputting unitfor inputting motion data; a data reproducing unit for reproducing saidmotion data on an actual apparatus; a sensor information acquisitionunit for acquiring sensor information from said sensor during the timewhen said motion data is being reproduced, wherein the sensorinformation includes information on the angles of joints, postureinformation, information on a ZMP trajectory, and information on contactof a foot with a floor surface; a motion evaluation unit for evaluatingthe motion based on the acquired sensor information; and a motioncorrection unit for correcting the motion data based on said results ofevaluation.
 2. The motion editing apparatus for the legged mobile robotaccording to claim 1 further comprising: a motion data outputting unitfor embedding the sensor information, acquired by said sensorinformation acquisition unit, in the motion data satisfying a criteriumof evaluation in said motion evaluation unit, as reference data, and foroutputting the resulting motion data having the reference data embeddedtherein.
 3. The motion editing apparatus for the legged mobile robotaccording to claim 2 wherein said motion data outputting unit outputsthe information on the angles of joints, formed by the combination ofangle command values for respective joints and measured values acquiredon executing the motion, as the motion data having the reference dataembedded therein.
 4. The motion editing apparatus for the legged mobilerobot according to claim 2 wherein said motion data outputting unitoutputs the posture information composed of the combination of thetarget values for the respective sensors at the time of motion edition,measured values of sensor outputs at the time of motion execution andfiltered values of said measured values of the sensor outputs, as themotion data having the reference data embedded therein.
 5. The motionediting apparatus for the legged mobile robot according to claim 2wherein said motion data outputting unit outputs the ZMP trajectoryinformation formed by the combination of the target ZMP trajectory forleft and right foot soles at the time of editing and the ZMP trajectoryas corrected by stabilization control at the time of execution of themotion, as the motion data having the reference data embedded therein.6. The motion editing apparatus for the legged mobile robot according toclaim 2 wherein said motion data outputting unit outputs the foot soletouchdown information and/or the contact information formed by thecombination of a target value at the time of editing of an output of afloor reaction force sensor and a measured value thereof at the time ofmotion execution as motion data having the reference data embeddedtherein.
 7. The motion editing apparatus for the legged mobile robotaccording to claim 1 wherein said motion evaluation unit chronologicallyevaluates followup characteristics on executing the motion on the actualapparatus.
 8. The motion editing apparatus for the legged mobile robotaccording to claim 1 wherein said motion evaluation unit chronologicallyacquires a torque value of an actuator and the number of revolutions onexecuting the motion on an actual robot body and compares the acquireddata to a NT curve representing the actuator characteristics of toevaluate whether or not there is any movement which surpasses the limittorque of the actuator.
 9. The motion editing apparatus for the leggedmobile robot according to claim 1 wherein said motion evaluation unitcalculates a difference between posture sensor values and the ZMPtrajectory as scheduled at the time of the motion edition, and sensorvalues and the ZMP trajectory as acquired on executing the motion on anactual robot body to evaluate the posture.
 10. The motion editingapparatus for the legged mobile robot according to claim 1 wherein saidmotion evaluation unit calculates a difference between the posture atthe time of motion edition and measured values obtained on executing themotion on the actual robot body to evaluate the touchdown and/orcontact.
 11. The motion editing apparatus for the legged mobile robotaccording to claim 1 wherein said motion evaluation unit calculates thedegree of improvement in measured values as to the motion corrected bylast and previous evaluation events to evaluate the degree ofachievement of correction.
 12. The motion editing apparatus for thelegged mobile robot according to claim 1 wherein said motion evaluationunit calculates the effect of an impact due to contact with an outsideobject on an actuator torque, ZMP trajectory or on the acceleration toevaluate the impact due to contact with the outside object.
 13. Themotion editing apparatus for the legged mobile robot according to claim1 wherein said motion correction unit corrects a command angle value tothe actuator and/or corrects control parameters of the actuator based onthe result of evaluation of response properties of the actuator.
 14. Themotion editing apparatus for the legged mobile robot according to claim1 wherein said motion correction unit changes the contents of theposture stabilization processing block based on the result of evaluationof the actuator torque.
 15. The motion editing apparatus for the leggedmobile robot according to claim 1 wherein said motion correction unitchanges the contents of the posture stabilization processing block basedon the result of evaluation of the touchdown and/or contact.
 16. Themotion editing apparatus for the legged mobile robot according to claim1 wherein said motion correction unit changes the control of saidposture stabilization processing block, as the contact with the outsideobject is taken into account, based on the result of evaluation of theimpact due to contact with the outside object.
 17. The motion editingapparatus for the legged mobile robot according to claim 1 wherein saidmotion reproducing unit takes out only an optional range of motion datato reproduce the range thus taken out on the actual apparatus.
 18. Themotion editing apparatus for the legged mobile robot according to claim17 wherein said data reproducing unit sets a start time point in motiondata, calculates the dynamic posture at said start time point, generatesa transient motion with the dynamic posture at said start time point asa terminal point, and reproduces the motion on said actual apparatususing said transient motion; and wherein said data reproducing unit alsosets a stop time point in said motion data, calculates the dynamicposture at said stop time point, generates a transient motion with saidstop posture as a start point and halts the movement of said actualapparatus using said transient motion.
 19. A motion editing method for alegged mobile robot having a plurality of degrees of freedom in jointsand a sensor for measuring an external environment, said methodcomprising: a data inputting step of inputting motion data; a datareproducing step of reproducing said motion data on an actual apparatus;a sensor information acquisition step for acquiring sensor informationfrom said sensor during the time when said motion data is beingreproduced, wherein the sensor information includes information on theangles of joints, posture information, information on a ZMP trajectory,and information on contact of a foot with a floor surface; a motionevaluation step of evaluating the motion based on the acquired sensorinformation; and a motion correction step of correcting the motion databased on said results of evaluation.
 20. The motion editing method forthe legged mobile robot according to claim 19 further comprising: amotion data outputting step of embedding the sensor information acquiredby said sensor information acquisition step in the motion datasatisfying a criterium of evaluation in said motion evaluation step, asreference data, and for outputting the resulting motion data having thereference data embedded therein.
 21. The motion editing method for thelegged mobile robot according to claim 20 wherein said motion dataoutputting step outputs the information on the angles of joints, formedby the combination of angle command values for respective joints andmeasured values acquired on executing the motion, as the motion datahaving the reference data embedded therein.
 22. The motion editingmethod for the legged mobile robot according to claim 20 wherein saidmotion data outputting step outputs the posture information composed ofthe combination of the target values for the respective sensors at thetime of motion edition, measured values at the time of motion executionand filtered values of said measured values of the sensor outputs as themotion data having the reference data embedded therein.
 23. The motionediting method for the legged mobile robot according to claim 20 whereinsaid motion data outputting step outputs the ZMP trajectory informationformed by the combination of the target ZMP trajectory for left andright foot soles at the time of editing and the ZMP trajectory followingthe correction by stabilization control at the time of execution of themotion as the motion data having the reference data embedded therein.24. The motion editing method for the legged mobile robot according toclaim 20 wherein said motion data outputting step outputs the foot soletouchdown information and/or the contact information formed by thecombination of a target value at the time of editing of a floor reactionsensor and a measured value thereof at the time of motion execution asmotion data having the reference data embedded therein.
 25. The motionediting method for the legged mobile robot according to claim 19 whereinsaid motion evaluation step chronologically evaluates followupcharacteristics on executing the motion on the actual apparatus.
 26. Themotion editing method for the legged mobile robot according to claim 19wherein said motion evaluation step chronologically acquires a torquevalue of an actuator and the number of revolutions on executing themotion on an actual robot body and compares the acquired data to a NTcurve representing the actuator characteristics to evaluate whether ornot there is any movement which surpasses the limit torque of theactuator.
 27. The motion editing method for the legged mobile robotaccording to claim 19 wherein said motion evaluation step calculates adifference between posture sensor values and the ZMP trajectory asscheduled at the time of the motion edition, and sensor values and theZMP trajectory as acquired on executing the motion on an actual robotbody to evaluate the posture.
 28. The motion editing method for thelegged mobile robot according to claim 19 wherein said motion evaluationstep calculates a difference between the posture at the time of motionedition and measured values obtained on executing the motion on theactual robot body to evaluate the touchdown and/or contact.
 29. Themotion editing method for the legged mobile robot according to claim 19wherein said motion evaluation step calculates the degree of improvementin measured values as to the motion corrected by last and previousevaluation events to evaluate the degree of achievement of correction.30. The motion editing method for the legged mobile robot according toclaim 19 wherein said motion evaluation step calculates the effect of animpact due to contact with an outside object on an actuator torque, ZMPtrajectory or on the acceleration to evaluate the impact due to contactwith the outside object.
 31. The motion editing method for the leggedmobile robot according to claim 19 wherein said motion correction stepcorrects a command angle value to the actuator and/or corrects controlparameters of the actuator based on the result of evaluation of responseproperties of the actuator.
 32. The motion editing method for the leggedmobile robot according to claim 19 wherein said motion correction stepchanges the contents of the posture stabilization processing block basedon the result of evaluation of the actuator torque.
 33. The motionediting method for the legged mobile robot according to claim 19 whereinsaid motion correction step changes the contents of the posturestabilization processing block based on the result of evaluation of thetouchdown and/or contact.
 34. The motion editing method for the leggedmobile robot according to claim 19 wherein said motion correction stepchanges the control of said posture stabilization processing block, asthe contact with the outside object is taken into account, based on theresult of evaluation of the impact due to contact with the outsideobject.
 35. The motion editing method for the legged mobile robotaccording to claim 19 wherein said motion reproducing step takes outonly an optional range of motion data to reproduce the range thus takenout on the actual apparatus.
 36. The motion editing method for thelegged mobile robot according to claim 35 wherein said data reproducingstep sets a start time point in motion data, calculates the dynamicposture at said start time point, generates a transient motion with thedynamic posture at said start time point as a terminal point, andreproduces the motion on said actual apparatus using said transientmotion; and wherein said data reproducing step also sets a stop timepoint in said motion data, calculates the dynamic posture at said stoptime point, generates a transient motion with said stop posture as astart point and halts the movement of said actual apparatus using saidtransient motion.
 37. A computer program stored on a computer-readablemedium including a motion editing program for a legged mobile robothaving a plurality of degrees of freedom in joints and a sensor formeasuring an external environment, said computer program comprising: adata inputting step of inputting motion data; a data reproducing step ofreproducing said motion data on an actual apparatus; a sensorinformation acquisition step of acquiring sensor information from saidsensor during the time when said motion data is being reproduced,wherein the sensor information includes information on the angles ofjoints, posture information, information on a ZMP trajectory, andinformation on contact of a foot with a floor surface; a motionevaluation step of evaluating the motion based on the acquired sensorinformation; and a motion correction step of correcting the motion databased on said results of evaluation.